草庐IT

Android PlusOneButton 不初始化

全部标签

Java,没有同步的延迟初始化字段

有时当我需要延迟初始化的字段时,我会使用以下设计模式。classDictionaryHolder{privatevolatileDictionarydict;//someheavyobjectpublicDictionarygetDictionary(){Dictionaryd=this.dict;if(d==null){d=loadDictionary();//costyoperationthis.dict=d;}returnd;}}它看起来像DoubleCheckingidion,但不完全是。没有同步,loadDictionary方法可能会被多次调用。我在并发性很低的时候使用这个模

java - 你如何在java中初始化一个字符串?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我已经开始使用setter而不是将参数放入默认构造函数,因为它可以帮助我更好地组织代码问题是我正在做的项目中唯一的变量是一个字符串,我不确定我是否应该在声明中初始化它(作为一个全局变量?),在一个setter实例方法中或者是否初始化它在类构造函数中。我想知道这个设置是否有任何问题,是否在使用它的setter之前不初始化实例:classMyClass{pr

java - 双括号初始化类型混淆

我以为这会相对容易,但很遗憾,似乎并非如此。我目前正在使用JavaEE6在我的项目中为类似Facade的结构编写单元测试。对于测试,我使用Junit4.11,并将EclipseKepler作为IDE。据我所知,双括号初始化似乎有些“错误”,但我的知识还不足以指出为什么它不像我想的那样工作应该。言归正传,我使用以下类在集中位置进行转换:packagecom.example-company.util.converters;importjava.util.HashMap;importjava.util.Map;importcom.example-company.model.Location;

java - 使用 File 对象初始化 FileInputStream 时获取 FileNotFoundException

我正在尝试使用File对象初始化FileInputStream对象。我在行中收到FileNotFound错误fis=newFileInputStream(file);这很奇怪,因为我已经多次通过相同的方法打开此文件来执行正则表达式。我的方法如下:privateBufferedInputStreamfileToBIS(Filefile){FileInputStreamfis=null;BufferedInputStreambis=null;try{fis=newFileInputStream(file);bis=newBufferedInputStream(fis);}catch(Fil

java - eclipse checkstyle 错误无法初始化模块 TreeWalker - TreeWalker 不允许作为 FileLength 的父级

当我尝试加载用户定义的检查样式模板时出现以下错误。cannotinitializemoduleTreeWalker-TreeWalkerisnotallowedasaparentofFileLength我认为这可能是由于与我的eclipse中的checkstyle版本不兼容。我将如何使用checkstylexml文件找到合适的checkstyle版本 最佳答案 这是模板中的错误,与Checkstyle版本无关。FileLength直接在Checker下,而不是在TreeWalker下。例子:

java - 使用 protected 构造函数匿名初始化类

假设我们有一个类:publicclassSomeClass{protectedSomeClass(){}}在位于不同包中的MainClass中,我尝试执行两行:publicstaticvoidmain(String[]args){SomeClasssac1=newSomeClass();SomeClasssac2=newSomeClass(){};}因为protected构造函数,在这两种情况下我都认为程序会失败。令我惊讶的是,匿名初始化工作正常。有人能解释一下为什么第二种初始化方法可以吗? 最佳答案 你的匿名类SomeClasss

java - 为什么声明顺序对静态初始化器很重要?

我有这个代码privatestaticSetmyField;static{myField=newHashSet();myField.add("test");}并且有效。但是当我翻转订单时,我收到了一个非法前向引用错误。static{myField=newHashSet();myField.add("test");//illegalforwardreference}privatestaticSetmyField;我有点震惊,我没想到Java会有这样的东西。:)这里发生了什么?为什么声明的顺序很重要?为什么赋值有效但方法调用无效? 最佳答案

java - 在 web.xml 中定义和初始化变量然后从 Java 代码访问它们的最佳实践

我想在web.xml中定义和初始化一些变量,并在我的Java应用程序中访问这些变量的值。我想这样做的原因是因为我希望能够更改这些变量的值而无需重新编译代码。执行此操作的最佳做​​法是什么?大多数变量只是字符串,也许还有一些数字。访问变量的类是否必须是servlet?谢谢!克里斯 最佳答案 您可以使用自己的资源(如属性文件)并将它们放在类路径中的某个位置。然后您可以将它们读入属性并在您觉得方便的任何地方使用。web.xml最好留给servlet上下文,而不是通用资源。 关于java-在we

java - 如何在服务器启动时初始化 servlet

我用init()和doGet()、doPost()方法编写了一个简单的servlet。我有一个要求,我需要一个API来调用服务器启动。这样可以吗?我尝试使用init方法,并在web.xml中设置默认值,但我仍然无法这样做。请告诉我是否遗漏了什么。谢谢 最佳答案 是否将load-on-startup属性设置为正值?2或者,您可能想使用ServletContextListener在容器启动时进行初始化工作。这是在servlet容器在线时进行一些初始化工作的回调的“事实上的”标准,例如我们用它来读取一些XML文件并填充缓存。

java - 如何在不实际执行的情况下测试 ThreadLocal 是否已初始化?

我想测试一个ThreadLocal是否已经被初始化,而不是实际初始化它。当然,代码需要是线程安全的。理想情况下,我想要这样的东西:classTestableThreadLocalextendsThreadLocal{publicbooleanisInitialized(){...}}但是我该如何实现这个方法呢?编辑:动机:我将ThreadLocal子类化以覆盖initialValue()。但是,我并不总是需要初始化,特别是因为它可能会导致多类加载器环境中的内存泄漏。一个简单的测试将帮助我编写代码以避免意外初始化。 最佳答案 我倾向于